if (!require("remotes"))
install.packages("remotes")
remotes::install_github("flavjack/inti")Estudio del injerto intermedio sobre el crecimiento y productividad del mango (Mangífera indica L.) var.Kent.en el Valle de San Lorenzo
1 Setup
Instalar la version en desarrollo
source('https://inkaverse.com/setup.r')
library(emmeans)
library(multcomp)
library(lmerTest)
library(FSA)
# library(rstatix)
# library(corrplot)
# library(dlookr)
session_info()─ Session info ───────────────────────────────────────────────────────────────
setting value
version R version 4.4.1 (2024-06-14 ucrt)
os Windows 10 x64 (build 19045)
system x86_64, mingw32
ui RTerm
language (EN)
collate Spanish_Peru.utf8
ctype Spanish_Peru.utf8
tz America/Lima
date 2024-07-31
pandoc 3.1.11 @ C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
─ Packages ───────────────────────────────────────────────────────────────────
package * version date (UTC) lib source
agricolae 1.3-7 2023-10-22 [1] CRAN (R 4.4.0)
AlgDesign 1.2.1 2022-05-25 [1] CRAN (R 4.4.0)
askpass 1.2.0 2023-09-03 [1] CRAN (R 4.4.0)
boot 1.3-30 2024-02-26 [2] CRAN (R 4.4.1)
cachem 1.1.0 2024-05-16 [1] CRAN (R 4.4.0)
cellranger 1.1.0 2016-07-27 [1] CRAN (R 4.4.0)
cli 3.6.2 2023-12-11 [1] CRAN (R 4.4.0)
cluster 2.1.6 2023-12-01 [2] CRAN (R 4.4.1)
coda 0.19-4.1 2024-01-31 [1] CRAN (R 4.4.0)
codetools 0.2-20 2024-03-31 [2] CRAN (R 4.4.1)
colorspace 2.1-0 2023-01-23 [1] CRAN (R 4.4.0)
cowplot * 1.1.3 2024-01-22 [1] CRAN (R 4.4.0)
curl 5.2.1 2024-03-01 [1] CRAN (R 4.4.0)
devtools * 2.4.5 2022-10-11 [1] CRAN (R 4.4.0)
digest 0.6.35 2024-03-11 [1] CRAN (R 4.4.0)
dplyr * 1.1.4 2023-11-17 [1] CRAN (R 4.4.0)
DT 0.33 2024-04-04 [1] CRAN (R 4.4.0)
ellipsis 0.3.2 2021-04-29 [1] CRAN (R 4.4.0)
emmeans * 1.10.1 2024-04-06 [1] CRAN (R 4.4.0)
estimability 1.5.1 2024-05-12 [1] CRAN (R 4.4.0)
evaluate 0.23 2023-11-01 [1] CRAN (R 4.4.0)
FactoMineR * 2.11 2024-04-20 [1] CRAN (R 4.4.0)
fansi 1.0.6 2023-12-08 [1] CRAN (R 4.4.0)
fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.4.0)
flashClust 1.01-2 2012-08-21 [1] CRAN (R 4.4.0)
forcats * 1.0.0 2023-01-29 [1] CRAN (R 4.4.0)
fs 1.6.4 2024-04-25 [1] CRAN (R 4.4.0)
FSA * 0.9.5 2023-08-26 [1] CRAN (R 4.4.0)
gargle 1.5.2 2023-07-20 [1] CRAN (R 4.4.0)
generics 0.1.3 2022-07-05 [1] CRAN (R 4.4.0)
ggplot2 * 3.5.1 2024-04-23 [1] CRAN (R 4.4.0)
ggrepel 0.9.5 2024-01-10 [1] CRAN (R 4.4.0)
glue 1.7.0 2024-01-09 [1] CRAN (R 4.4.0)
googledrive * 2.1.1 2023-06-11 [1] CRAN (R 4.4.0)
googlesheets4 * 1.1.1 2023-06-11 [1] CRAN (R 4.4.0)
gsheet * 0.4.5 2020-04-07 [1] CRAN (R 4.4.0)
gtable 0.3.5 2024-04-22 [1] CRAN (R 4.4.0)
hms 1.1.3 2023-03-21 [1] CRAN (R 4.4.0)
htmltools 0.5.8.1 2024-04-04 [1] CRAN (R 4.4.0)
htmlwidgets 1.6.4 2023-12-06 [1] CRAN (R 4.4.0)
httpuv 1.6.15 2024-03-26 [1] CRAN (R 4.4.0)
httr 1.4.7 2023-08-15 [1] CRAN (R 4.4.0)
huito * 0.2.4 2023-10-25 [1] CRAN (R 4.4.0)
inti * 0.6.5 2024-07-31 [1] Github (flavjack/inti@38be898)
jsonlite 1.8.8 2023-12-04 [1] CRAN (R 4.4.0)
knitr * 1.46 2024-04-06 [1] CRAN (R 4.4.0)
later 1.3.2 2023-12-06 [1] CRAN (R 4.4.0)
lattice 0.22-6 2024-03-20 [2] CRAN (R 4.4.1)
leaps 3.1 2020-01-16 [1] CRAN (R 4.4.0)
lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.4.0)
lme4 * 1.1-35.3 2024-04-16 [1] CRAN (R 4.4.0)
lmerTest * 3.1-3 2020-10-23 [1] CRAN (R 4.4.0)
lubridate * 1.9.3 2023-09-27 [1] CRAN (R 4.4.0)
magick * 2.8.3 2024-02-18 [1] CRAN (R 4.4.0)
magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.4.0)
MASS * 7.3-60.2 2024-04-26 [2] CRAN (R 4.4.1)
Matrix * 1.7-0 2024-04-26 [2] CRAN (R 4.4.1)
memoise 2.0.1 2021-11-26 [1] CRAN (R 4.4.0)
mime 0.12 2021-09-28 [1] CRAN (R 4.4.0)
miniUI 0.1.1.1 2018-05-18 [1] CRAN (R 4.4.0)
minqa 1.2.6 2023-09-11 [1] CRAN (R 4.4.0)
mnormt 2.1.1 2022-09-26 [1] CRAN (R 4.4.0)
multcomp * 1.4-25 2023-06-20 [1] CRAN (R 4.4.0)
multcompView 0.1-10 2024-03-08 [1] CRAN (R 4.4.0)
munsell 0.5.1 2024-04-01 [1] CRAN (R 4.4.0)
mvtnorm * 1.2-4 2023-11-27 [1] CRAN (R 4.4.0)
nlme 3.1-164 2023-11-27 [2] CRAN (R 4.4.1)
nloptr 2.0.3 2022-05-26 [1] CRAN (R 4.4.0)
numDeriv 2016.8-1.1 2019-06-06 [1] CRAN (R 4.4.0)
openssl 2.2.0 2024-05-16 [1] CRAN (R 4.4.0)
pillar 1.9.0 2023-03-22 [1] CRAN (R 4.4.0)
pkgbuild 1.4.4 2024-03-17 [1] CRAN (R 4.4.0)
pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.4.0)
pkgload 1.3.4 2024-01-16 [1] CRAN (R 4.4.0)
profvis 0.3.8 2023-05-02 [1] CRAN (R 4.4.0)
promises 1.3.0 2024-04-05 [1] CRAN (R 4.4.0)
psych * 2.4.3 2024-03-18 [1] CRAN (R 4.4.0)
purrr * 1.0.2 2023-08-10 [1] CRAN (R 4.4.0)
R6 2.5.1 2021-08-19 [1] CRAN (R 4.4.0)
rappdirs 0.3.3 2021-01-31 [1] CRAN (R 4.4.0)
Rcpp 1.0.12 2024-01-09 [1] CRAN (R 4.4.0)
readr * 2.1.5 2024-01-10 [1] CRAN (R 4.4.0)
remotes 2.5.0 2024-03-17 [1] CRAN (R 4.4.0)
rlang 1.1.3 2024-01-10 [1] CRAN (R 4.4.0)
rmarkdown 2.27 2024-05-17 [1] CRAN (R 4.4.0)
rstudioapi 0.16.0 2024-03-24 [1] CRAN (R 4.4.0)
sandwich 3.1-0 2023-12-11 [1] CRAN (R 4.4.0)
scales 1.3.0 2023-11-28 [1] CRAN (R 4.4.0)
scatterplot3d 0.3-44 2023-05-05 [1] CRAN (R 4.4.0)
sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.4.0)
shiny * 1.8.1.1 2024-04-02 [1] CRAN (R 4.4.0)
showtext 0.9-7 2024-03-02 [1] CRAN (R 4.4.0)
showtextdb 3.0 2020-06-04 [1] CRAN (R 4.4.0)
stringi 1.8.4 2024-05-06 [1] CRAN (R 4.4.0)
stringr * 1.5.1 2023-11-14 [1] CRAN (R 4.4.0)
survival * 3.6-4 2024-04-24 [2] CRAN (R 4.4.1)
sysfonts 0.8.9 2024-03-02 [1] CRAN (R 4.4.0)
TH.data * 1.1-2 2023-04-17 [1] CRAN (R 4.4.0)
tibble * 3.2.1 2023-03-20 [1] CRAN (R 4.4.0)
tidyr * 1.3.1 2024-01-24 [1] CRAN (R 4.4.0)
tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.4.0)
tidyverse * 2.0.0 2023-02-22 [1] CRAN (R 4.4.0)
timechange 0.3.0 2024-01-18 [1] CRAN (R 4.4.0)
tzdb 0.4.0 2023-05-12 [1] CRAN (R 4.4.0)
urlchecker 1.0.1 2021-11-30 [1] CRAN (R 4.4.0)
usethis * 2.2.3 2024-02-19 [1] CRAN (R 4.4.0)
utf8 1.2.4 2023-10-22 [1] CRAN (R 4.4.0)
vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.4.0)
withr 3.0.0 2024-01-16 [1] CRAN (R 4.4.0)
xfun 0.44 2024-05-15 [1] CRAN (R 4.4.0)
xtable 1.8-4 2019-04-21 [1] CRAN (R 4.4.0)
yaml 2.3.8 2023-12-11 [1] CRAN (R 4.4.0)
zoo 1.8-12 2023-04-13 [1] CRAN (R 4.4.0)
[1] C:/Users/SEBASTIAN/AppData/Local/R/win-library/4.4
[2] C:/Program Files/R/R-4.4.1/library
──────────────────────────────────────────────────────────────────────────────
2 Import data
url <- "https://docs.google.com/spreadsheets/d/1E_cUmiRFoPLGAj7AQC6HZBD6hXtqzg2UHPvtWr2QR_U/edit#gid=2112492836"
gs <- url %>%
as_sheets_id()
ley <- gs %>%
range_read("leyenda") %>%
rename(tratamientos = TRATAM) %>%
rename_with(~ tolower(.))
rdt <- gs %>%
range_read("db") %>%
merge(., ley) %>%
dplyr::select(year = "año", n, tratamientos,n_trat:yema, everything()) %>%
rename(treat = tratamientos
, n_treat = n_trat
, block = bloque
, n_plant = n_planta
, height = alt_planta
, n_fruits = n_frutos
, flowering = per_floracion
, sproud = per_brote
, scion = yema
, stock = patron
, edge = puente
) %>%
dplyr::arrange(year, n, treat) %>%
mutate(across(year:n_plant, ~ as.factor(.)))
str(rdt)
## 'data.frame': 648 obs. of 13 variables:
## $ year : Factor w/ 3 levels "2017","2018",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ n : Factor w/ 216 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 10 ...
## $ treat : Factor w/ 8 levels "111","121","131",..: 4 4 4 4 4 4 4 4 4 7 ...
## $ n_treat : Factor w/ 8 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 2 ...
## $ stock : Factor w/ 2 levels "CHATO","CHULUCANAS": 2 2 2 2 2 2 2 2 2 1 ...
## $ edge : Factor w/ 4 levels "CHATO","CHULUCANAS",..: 2 2 2 2 2 2 2 2 2 4 ...
## $ scion : Factor w/ 1 level "KENT": 1 1 1 1 1 1 1 1 1 1 ...
## $ block : Factor w/ 3 levels "1","2","3": 1 1 1 1 1 1 1 1 1 1 ...
## $ n_plant : Factor w/ 9 levels "1","2","3","4",..: 1 2 3 4 5 6 7 8 9 1 ...
## $ height : num NA NA NA NA NA NA NA NA NA NA ...
## $ n_fruits : num 170 200 310 NA 235 185 180 132 80 231 ...
## $ flowering: num 60 50 50 NA 80 60 40 90 90 60 ...
## $ sproud : num NA NA NA NA NA NA NA NA NA NA ...
fru <- gs %>%
range_read("db_frutos") %>%
merge(., ley, ) %>%
dplyr::select(year = "año", n, tratamientos,n_trat:yema, everything()) %>%
rename(treat = tratamientos
, n_treat = n_trat
, block = bloque
, n_plant = n_planta
, weigth = peso
, long = largo
, n_fruits = n_frutos
, diameter_1 = diametro_1
, diameter_2 = diametro_2
, sample = muestra
, scion = yema
, stock = patron
, edge = puente
) %>%
dplyr::arrange(year, n, treat) %>%
mutate(diameter_average = (diameter_1 + diameter_2)/2) %>%
mutate(across(year:sample, ~ as.factor(.)))
glimpse(fru)
## Rows: 240
## Columns: 16
## $ year <fct> 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023,…
## $ n <fct> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16…
## $ treat <fct> 141, 141, 141, 141, 141, 141, 141, 141, 141, 141, 231…
## $ n_treat <fct> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2,…
## $ stock <fct> CHULUCANAS, CHULUCANAS, CHULUCANAS, CHULUCANAS, CHULU…
## $ edge <fct> CHULUCANAS, CHULUCANAS, CHULUCANAS, CHULUCANAS, CHULU…
## $ scion <fct> KENT, KENT, KENT, KENT, KENT, KENT, KENT, KENT, KENT,…
## $ block <fct> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
## $ n_plant <fct> 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2,…
## $ sample <fct> 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 1, 2, 3,…
## $ n_fruits <dbl> 26, 26, 26, 26, 26, 35, 35, 35, 35, 35, 118, 118, 118…
## $ weigth <dbl> 270, 520, 385, 230, 285, 600, 457, 520, 665, 305, 422…
## $ long <dbl> 86, 111, 103, 86, 88, 116, 101, 115, 126, 91, 100, 10…
## $ diameter_1 <dbl> 78, 90, 86, 70, 78, 96, 88, 88, 103, 78, 91, 84, 84, …
## $ diameter_2 <dbl> 74, 83, 75, 69, 71, 87, 88, 81, 95, 80, 83, 76, 72, 8…
## $ diameter_average <dbl> 76.0, 86.5, 80.5, 69.5, 74.5, 91.5, 88.0, 84.5, 99.0,…3 Data summary
sm <- rdt %>%
group_by(year, treat) %>%
summarise(across(height:sproud, ~ sum(!is.na(.))))
sm
## # A tibble: 24 × 6
## # Groups: year [3]
## year treat height n_fruits flowering sproud
## <fct> <fct> <int> <int> <int> <int>
## 1 2017 111 0 26 26 0
## 2 2017 121 0 26 26 0
## 3 2017 131 0 25 25 0
## 4 2017 141 0 26 26 0
## 5 2017 211 0 26 26 0
## 6 2017 221 0 26 26 0
## 7 2017 231 0 26 26 0
## 8 2017 241 0 27 27 0
## 9 2018 111 0 9 22 0
## 10 2018 121 0 9 23 0
## # ℹ 14 more rows
sm <- fru %>%
group_by(year, treat) %>%
summarise(across(weigth:diameter_average, ~ sum(!is.na(.))))
sm
## # A tibble: 8 × 7
## # Groups: year [1]
## year treat weigth long diameter_1 diameter_2 diameter_average
## <fct> <fct> <int> <int> <int> <int> <int>
## 1 2023 111 30 30 30 30 30
## 2 2023 121 29 29 29 29 29
## 3 2023 131 30 30 30 30 30
## 4 2023 141 30 30 30 30 30
## 5 2023 211 30 30 30 30 30
## 6 2023 221 30 30 30 30 30
## 7 2023 231 30 30 30 30 30
## 8 2023 241 30 30 30 30 304 Objetivo General
Evaluar el efecto del injerto intermedio sobre el crecimiento y productividad del mango (Mangifera indica L.) var. ‘Kent’. en el Valle de San Lorenzo
5 Objetivo Específico 1
Evaluar el efecto de la relación patrón - injerto intermedio - injerto copa sobre las características agronómicas de altura de planta, número de frutos, porcentaje de floración y porcentaje de brotación de la var. ‘Kent’
5.1 Plant height
trait <- "height"
lmm <- paste({{trait}}, "~ 1 + (1|block) + stock*edge") %>% as.formula()
lmd <- paste({{trait}}, "~ block + stock*edge") %>% as.formula()
rmout <- rdt %>%
remove_outliers(formula = lmm
, drop_na = T, plot_diag = T)
rmout$diagplot
rmout$outliers
## index block stock edge height resi res_MAD rawp.BHStud
## 87 523 2 CHATO JULYE 2.00 -1.643199 -3.984232 0.00006769863
## 126 563 2 CHULUCANAS CHATO 1.90 -1.731293 -4.197830 0.00002694848
## 127 564 2 CHULUCANAS CHATO 1.85 -1.781293 -4.319064 0.00001566924
## adjp bholm out_flag
## 87 0.00006769863 0.013810521 OUTLIER
## 126 0.00002694848 0.005524438 OUTLIER
## 127 0.00001566924 0.003227863 OUTLIER
model <- rmout$data$clean %>%
aov(formula = lmd, .)
anova(model)
## Analysis of Variance Table
##
## Response: height
## Df Sum Sq Mean Sq F value Pr(>F)
## block 2 3.140 1.57012 9.1832 0.000155 ***
## stock 1 1.273 1.27268 7.4435 0.006954 **
## edge 3 1.994 0.66450 3.8865 0.009977 **
## stock:edge 3 2.301 0.76689 4.4853 0.004549 **
## Residuals 193 32.999 0.17098
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mc <- emmeans(model, ~ edge|stock) %>%
cld(Letters = letters, reversed = F) %>%
mutate(across(.group, trimws)) %>%
rename(group = ".group")
mc %>% kable()| edge | stock | emmean | SE | df | lower.CL | upper.CL | group | |
|---|---|---|---|---|---|---|---|---|
| 2 | CHULUCANAS | CHATO | 3.662963 | 0.0795773 | 193 | 3.506010 | 3.819916 | a |
| 1 | CHATO | CHATO | 3.741984 | 0.0811085 | 193 | 3.582011 | 3.901957 | a |
| 4 | JULYE | CHATO | 3.860337 | 0.0827154 | 193 | 3.697194 | 4.023479 | a |
| 3 | IRWIN | CHATO | 3.915061 | 0.0811085 | 193 | 3.755088 | 4.075034 | a |
| 8 | JULYE | CHULUCANAS | 3.467553 | 0.0844563 | 193 | 3.300977 | 3.634129 | a |
| 6 | CHULUCANAS | CHULUCANAS | 3.497320 | 0.0811085 | 193 | 3.337347 | 3.657293 | a |
| 7 | IRWIN | CHULUCANAS | 3.649114 | 0.0844563 | 193 | 3.482538 | 3.815690 | ab |
| 5 | CHATO | CHULUCANAS | 3.925048 | 0.0827647 | 193 | 3.761808 | 4.088287 | b |
p1a <- mc %>%
plot_smr(x = "stock"
, y = "emmean"
, group = "edge"
, sig = "group"
, error = "SE"
, color = T
, ylab = "Plant height (m)"
, ylimits = c(0, 6, 2)
,
)
p1a5.2 Sproud
trait <- "sproud"
lmm <- paste({{trait}}, "~ 1 + (1|block) + stock*edge") %>% as.formula()
lmd <- paste({{trait}}, "~ block + stock*edge") %>% as.formula()
rmout <- rdt %>%
remove_outliers(formula = lmm
, drop_na = T, plot_diag = T)
rmout$diagplot
rmout$outliers
## index block stock edge sproud resi res_MAD rawp.BHStud
## 8 441 1 CHULUCANAS CHULUCANAS 0 -63.26923 -4.267451 0.0000197719
## 126 567 2 CHULUCANAS CHATO 10 -58.26923 -3.930206 0.0000848732
## adjp bholm out_flag
## 8 0.0000197719 0.003974153 OUTLIER
## 126 0.0000848732 0.016974639 OUTLIER
model <- rmout$data$clean %>%
aov(formula = lmd, .)
anova(model)
## Analysis of Variance Table
##
## Response: sproud
## Df Sum Sq Mean Sq F value Pr(>F)
## block 2 362 180.9 0.5152 0.59820
## stock 1 6579 6578.9 18.7416 0.00002425 ***
## edge 3 2054 684.7 1.9506 0.12292
## stock:edge 3 2713 904.2 2.5758 0.05521 .
## Residuals 189 66345 351.0
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mc <- emmeans(model, ~ edge|stock) %>%
cld(Letters = letters, reversed = T) %>%
mutate(across(.group, trimws)) %>%
rename(group = ".group")
mc %>% kable()| edge | stock | emmean | SE | df | lower.CL | upper.CL | group | |
|---|---|---|---|---|---|---|---|---|
| 4 | CHULUCANAS | CHATO | 65.17927 | 3.675132 | 189 | 57.92972 | 72.42882 | a |
| 3 | CHATO | CHATO | 54.81356 | 3.747943 | 189 | 47.42039 | 62.20674 | a |
| 1 | IRWIN | CHATO | 52.08471 | 3.750192 | 189 | 44.68710 | 59.48232 | a |
| 2 | JULYE | CHATO | 51.91004 | 3.675132 | 189 | 44.66049 | 59.15959 | a |
| 7 | JULYE | CHULUCANAS | 72.15745 | 3.826839 | 189 | 64.60864 | 79.70625 | a |
| 6 | CHATO | CHULUCANAS | 70.57288 | 3.750234 | 189 | 63.17519 | 77.97057 | a |
| 5 | CHULUCANAS | CHULUCANAS | 65.94241 | 3.750188 | 189 | 58.54481 | 73.34001 | a |
| 8 | IRWIN | CHULUCANAS | 61.21227 | 3.910119 | 189 | 53.49919 | 68.92535 | a |
p1b <- mc %>%
plot_smr(x = "stock"
, y = "emmean"
, group = "edge"
, sig = "group"
, error = "SE"
, color = T
, ylab = "Sproud ('%')"
, ylimits = c(0, 100, 20)
)
p1b 5.3 Number of fruits
trait <- "n_fruits"
lmm <- paste({{trait}}, "~ 1 + (1|block) + year + stock*edge + (1 + year|treat)") %>% as.formula()
lmd <- paste({{trait}}, "~ block + year + stock*edge") %>% as.formula()
rmout <- rdt %>%
remove_outliers(formula = lmm
, drop_na = T, plot_diag = T)
rmout$diagplot
rmout$outliers
## index block year stock edge treat n_fruits resi res_MAD rawp.BHStud
## 442 604 3 2019 CHATO JULYE 231 539 287.2486 4.008689 0.00006105685
## adjp bholm out_flag
## 442 0.00006105685 0.02955151 OUTLIER
model <- rmout$data$clean %>%
aov(formula = lmd, .)
anova(model)
## Analysis of Variance Table
##
## Response: n_fruits
## Df Sum Sq Mean Sq F value Pr(>F)
## block 2 261207 130604 21.6839 0.0000000009805 ***
## year 2 126248 63124 10.4804 0.0000352211768 ***
## stock 1 9326 9326 1.5483 0.2140
## edge 3 22131 7377 1.2248 0.3001
## stock:edge 3 15548 5183 0.8605 0.4615
## Residuals 471 2836870 6023
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mc <- emmeans(model, ~ year|edge|stock) %>%
cld(Letters = letters, reversed = T) %>%
mutate(across(.group, trimws)) %>%
rename(group = ".group")
mc %>% kable()| year | edge | stock | emmean | SE | df | lower.CL | upper.CL | group | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 2018 | CHATO | CHATO | 197.2613 | 13.04649 | 471 | 171.6248 | 222.8978 | a |
| 3 | 2019 | CHATO | CHATO | 194.2890 | 10.75243 | 471 | 173.1603 | 215.4177 | a |
| 2 | 2017 | CHATO | CHATO | 162.5132 | 10.74838 | 471 | 141.3925 | 183.6339 | b |
| 13 | 2018 | CHATO | CHULUCANAS | 205.1341 | 12.95537 | 471 | 179.6767 | 230.5916 | a |
| 15 | 2019 | CHATO | CHULUCANAS | 202.1618 | 10.59847 | 471 | 181.3357 | 222.9880 | a |
| 14 | 2017 | CHATO | CHULUCANAS | 170.3860 | 10.59352 | 471 | 149.5696 | 191.2024 | b |
| 4 | 2018 | CHULUCANAS | CHATO | 206.5226 | 13.04648 | 471 | 180.8861 | 232.1591 | a |
| 6 | 2019 | CHULUCANAS | CHATO | 203.5503 | 10.75303 | 471 | 182.4205 | 224.6802 | a |
| 5 | 2017 | CHULUCANAS | CHATO | 171.7745 | 10.74778 | 471 | 150.6550 | 192.8940 | b |
| 16 | 2018 | CHULUCANAS | CHULUCANAS | 233.6210 | 13.04648 | 471 | 207.9845 | 259.2575 | a |
| 18 | 2019 | CHULUCANAS | CHULUCANAS | 230.6487 | 10.75303 | 471 | 209.5188 | 251.7785 | a |
| 17 | 2017 | CHULUCANAS | CHULUCANAS | 198.8729 | 10.74778 | 471 | 177.7533 | 219.9924 | b |
| 7 | 2018 | IRWIN | CHATO | 213.0482 | 13.04649 | 471 | 187.4117 | 238.6847 | a |
| 9 | 2019 | IRWIN | CHATO | 210.0759 | 10.75243 | 471 | 188.9472 | 231.2046 | a |
| 8 | 2017 | IRWIN | CHATO | 178.3001 | 10.74838 | 471 | 157.1794 | 199.4208 | b |
| 19 | 2018 | IRWIN | CHULUCANAS | 209.5332 | 13.19501 | 471 | 183.6048 | 235.4616 | a |
| 21 | 2019 | IRWIN | CHULUCANAS | 206.5609 | 11.07069 | 471 | 184.8068 | 228.3150 | a |
| 20 | 2017 | IRWIN | CHULUCANAS | 174.7851 | 10.92618 | 471 | 153.3150 | 196.2552 | b |
| 10 | 2018 | JULYE | CHATO | 207.7604 | 13.14195 | 471 | 181.9362 | 233.5845 | a |
| 12 | 2019 | JULYE | CHATO | 204.7881 | 10.95974 | 471 | 183.2520 | 226.3241 | a |
| 11 | 2017 | JULYE | CHATO | 173.0122 | 10.86339 | 471 | 151.6655 | 194.3589 | b |
| 22 | 2018 | JULYE | CHULUCANAS | 211.3414 | 13.14337 | 471 | 185.5145 | 237.1683 | a |
| 24 | 2019 | JULYE | CHULUCANAS | 208.3691 | 10.91480 | 471 | 186.9214 | 229.8169 | a |
| 23 | 2017 | JULYE | CHULUCANAS | 176.5933 | 10.91078 | 471 | 155.1535 | 198.0331 | b |
p1c <- mc %>%
plot_smr(type = "bar"
, x = "year"
, y = "emmean"
, group = "edge"
, sig = "group"
, error = "SE"
, color = T
, ylab = "N^{o} fruits"
, ylimits = c(0, 320, 60)
) +
facet_wrap(. ~ stock, nrow = 2)
p1c 5.4 Flowering
trait <- "flowering"
lmm <- paste({{trait}}, "~ 1 + (1|block) + year + stock*edge + (1 + year|treat)") %>% as.formula()
lmd <- paste({{trait}}, "~ block + year + stock*edge") %>% as.formula()
rmout <- rdt %>%
remove_outliers(formula = lmm
, drop_na = T, plot_diag = T)
rmout$diagplot
rmout$outliers
## index block year stock edge treat flowering resi res_MAD
## 28 31 1 2017 CHATO IRWIN 211 5 -68.74456 -6.212394
## 32 35 1 2017 CHATO IRWIN 211 25 -48.74456 -4.405009
## 33 36 1 2017 CHATO IRWIN 211 25 -48.74456 -4.405009
## 64 67 1 2017 CHATO CHATO 221 20 -56.92226 -5.144022
## 65 68 1 2017 CHATO CHATO 221 30 -46.92226 -4.240330
## 67 70 1 2017 CHATO CHATO 221 15 -61.92226 -5.595869
## 69 72 1 2017 CHATO CHATO 221 15 -61.92226 -5.595869
## 127 131 2 2017 CHULUCANAS CHATO 241 25 -58.44225 -5.281382
## 166 171 3 2017 CHULUCANAS CHULUCANAS 141 20 -58.28192 -5.266893
## 213 225 1 2018 CHULUCANAS CHULUCANAS 141 20 -57.68630 -5.213068
## 232 258 1 2018 CHULUCANAS JULYE 131 10 -56.04249 -5.064518
## 243 273 1 2018 CHULUCANAS IRWIN 111 15 -58.16121 -5.255986
## 250 284 1 2018 CHATO CHATO 221 90 47.03144 4.250196
## 251 288 1 2018 CHATO CHATO 221 97 54.03144 4.882781
## 254 292 2 2018 CHATO IRWIN 211 5 -63.87075 -5.771952
## 289 328 2 2018 CHATO CHATO 221 3 -43.83305 -3.961160
## 292 331 2 2018 CHATO CHATO 221 0 -46.83305 -4.232268
## 298 338 2 2018 CHULUCANAS IRWIN 111 10 -67.02571 -6.057063
## 299 339 2 2018 CHULUCANAS IRWIN 111 5 -72.02571 -6.508909
## 311 352 2 2018 CHULUCANAS JULYE 131 20 -49.90698 -4.510056
## 333 376 3 2018 CHATO IRWIN 211 20 -44.36027 -4.008804
## 342 385 3 2018 CHULUCANAS CHULUCANAS 141 0 -77.04031 -6.962075
## 346 389 3 2018 CHATO JULYE 231 0 -47.63760 -4.304974
## 347 390 3 2018 CHATO JULYE 231 0 -47.63760 -4.304974
## 349 392 3 2018 CHATO JULYE 231 2 -45.63760 -4.124236
## 375 421 3 2018 CHULUCANAS JULYE 131 10 -55.39650 -5.006140
## 376 422 3 2018 CHULUCANAS JULYE 131 20 -45.39650 -4.102448
## 454 505 2 2019 CHATO IRWIN 211 30 -48.76953 -4.407266
## 526 581 3 2019 CHATO CHULUCANAS 121 7 -70.54614 -6.375202
## rawp.BHStud adjp bholm out_flag
## 28 0.000000000521833021 0.000000000521833021 0.000000305794150 OUTLIER
## 32 0.000010577939756562 0.000010577939756562 0.006040003600997 OUTLIER
## 33 0.000010577939756562 0.000010577939756562 0.006040003600997 OUTLIER
## 64 0.000000268917649482 0.000000268917649482 0.000155165483751 OUTLIER
## 65 0.000022319169655338 0.000022319169655338 0.012632650024921 OUTLIER
## 67 0.000000021952000884 0.000000021952000884 0.000012798016515 OUTLIER
## 69 0.000000021952000884 0.000000021952000884 0.000012798016515 OUTLIER
## 127 0.000000128212855666 0.000000128212855666 0.000074491669142 OUTLIER
## 166 0.000000138751758749 0.000000138751758749 0.000080476020075 OUTLIER
## 213 0.000000185743196379 0.000000185743196379 0.000107359567507 OUTLIER
## 232 0.000000409435427784 0.000000409435427784 0.000235834806404 OUTLIER
## 243 0.000000147233846226 0.000000147233846226 0.000085248396965 OUTLIER
## 250 0.000021358339519217 0.000021358339519217 0.012110178507396 OUTLIER
## 251 0.000001046000612570 0.000001046000612570 0.000600404351615 OUTLIER
## 254 0.000000007835861071 0.000000007835861071 0.000004576142866 OUTLIER
## 289 0.000074586480278027 0.000074586480278027 0.041843015435973 OUTLIER
## 292 0.000023134658141855 0.000023134658141855 0.013071081850148 OUTLIER
## 298 0.000000001386292858 0.000000001386292858 0.000000810981322 OUTLIER
## 299 0.000000000075698336 0.000000000075698336 0.000000044510622 OUTLIER
## 311 0.000006481038199890 0.000006481038199890 0.003713634888537 OUTLIER
## 333 0.000061026989556012 0.000061026989556012 0.034297168130479 OUTLIER
## 342 0.000000000003352874 0.000000000003352874 0.000000001974843 OUTLIER
## 346 0.000016700498484123 0.000016700498484123 0.009502583637466 OUTLIER
## 347 0.000016700498484123 0.000016700498484123 0.009502583637466 OUTLIER
## 349 0.000037196739853362 0.000037196739853362 0.020978961277296 OUTLIER
## 375 0.000000555322711371 0.000000555322711371 0.000319310559038 OUTLIER
## 376 0.000040880207851313 0.000040880207851313 0.023015557020289 OUTLIER
## 454 0.000010468378508710 0.000010468378508710 0.005987912506982 OUTLIER
## 526 0.000000000182721394 0.000000000182721394 0.000000107257458 OUTLIER
model <- rmout$data$clean %>%
aov(formula = lmd, .)
anova(model)
## Analysis of Variance Table
##
## Response: flowering
## Df Sum Sq Mean Sq F value Pr(>F)
## block 2 1978 988.9 3.3541 0.03566 *
## year 2 16473 8236.6 27.9371 0.000000000002796 ***
## stock 1 804 803.6 2.7257 0.09932 .
## edge 3 7276 2425.3 8.2263 0.000023116374039 ***
## stock:edge 3 1580 526.5 1.7859 0.14874
## Residuals 548 161564 294.8
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mc <- emmeans(model, ~ year|edge|stock) %>%
cld(Letters = letters, reversed = T) %>%
mutate(across(.group, trimws)) %>%
rename(group = ".group")
mc %>% kable()| year | edge | stock | emmean | SE | df | lower.CL | upper.CL | group | |
|---|---|---|---|---|---|---|---|---|---|
| 2 | 2019 | CHATO | CHATO | 77.01196 | 2.305001 | 548 | 72.48424 | 81.53968 | a |
| 1 | 2017 | CHATO | CHATO | 76.99530 | 2.345782 | 548 | 72.38748 | 81.60313 | a |
| 3 | 2018 | CHATO | CHATO | 64.90407 | 2.425731 | 548 | 60.13920 | 69.66894 | b |
| 14 | 2019 | CHATO | CHULUCANAS | 77.06506 | 2.198633 | 548 | 72.74628 | 81.38384 | a |
| 13 | 2017 | CHATO | CHULUCANAS | 77.04841 | 2.208166 | 548 | 72.71090 | 81.38591 | a |
| 15 | 2018 | CHATO | CHULUCANAS | 64.95718 | 2.269647 | 548 | 60.49890 | 69.41545 | b |
| 5 | 2019 | CHULUCANAS | CHATO | 87.26768 | 2.233767 | 548 | 82.87988 | 91.65547 | a |
| 4 | 2017 | CHULUCANAS | CHATO | 87.25102 | 2.226577 | 548 | 82.87735 | 91.62469 | a |
| 6 | 2018 | CHULUCANAS | CHATO | 75.15979 | 2.289284 | 548 | 70.66294 | 79.65663 | b |
| 17 | 2019 | CHULUCANAS | CHULUCANAS | 85.98612 | 2.243058 | 548 | 81.58008 | 90.39217 | a |
| 16 | 2017 | CHULUCANAS | CHULUCANAS | 85.96947 | 2.254128 | 548 | 81.54168 | 90.39726 | a |
| 18 | 2018 | CHULUCANAS | CHULUCANAS | 73.87824 | 2.329225 | 548 | 69.30293 | 78.45354 | b |
| 8 | 2019 | IRWIN | CHATO | 81.00814 | 2.291841 | 548 | 76.50627 | 85.51001 | a |
| 7 | 2017 | IRWIN | CHATO | 80.99148 | 2.311773 | 548 | 76.45046 | 85.53250 | a |
| 9 | 2018 | IRWIN | CHATO | 68.90025 | 2.375187 | 548 | 64.23467 | 73.56584 | b |
| 20 | 2019 | IRWIN | CHULUCANAS | 86.70568 | 2.312242 | 548 | 82.16374 | 91.24763 | a |
| 19 | 2017 | IRWIN | CHULUCANAS | 86.68903 | 2.284768 | 548 | 82.20105 | 91.17700 | a |
| 21 | 2018 | IRWIN | CHULUCANAS | 74.59780 | 2.389683 | 548 | 69.90374 | 79.29186 | b |
| 11 | 2019 | JULYE | CHATO | 78.22556 | 2.271401 | 548 | 73.76384 | 82.68728 | a |
| 10 | 2017 | JULYE | CHATO | 78.20890 | 2.263368 | 548 | 73.76296 | 82.65484 | a |
| 12 | 2018 | JULYE | CHATO | 66.11767 | 2.367724 | 548 | 61.46675 | 70.76860 | b |
| 23 | 2019 | JULYE | CHULUCANAS | 84.56367 | 2.325199 | 548 | 79.99628 | 89.13107 | a |
| 22 | 2017 | JULYE | CHULUCANAS | 84.54702 | 2.315901 | 548 | 79.99789 | 89.09615 | a |
| 24 | 2018 | JULYE | CHULUCANAS | 72.45579 | 2.429118 | 548 | 67.68427 | 77.22731 | b |
p1d <- mc %>%
plot_smr(type = "bar"
, x = "year"
, y = "emmean"
, group = "edge"
, sig = "group"
, error = "SE"
, color = T
, ylab = "Flowering ('%')"
, ylimits = c(0, 120, 20)
) +
facet_wrap(. ~ stock, nrow = 2)
p1d5.5 Figure 1
legend <- cowplot::get_plot_component(p1a, 'guide-box-top', return_all = TRUE)
p1 <- list(p1a + theme(legend.position="none")
, p1b + theme(legend.position="none")
, p1c + theme(legend.position="none")
, p1d + theme(legend.position="none")
) %>%
plot_grid(plotlist = ., ncol = 2
, labels = "auto"
, rel_heights = c(1, 2)
)
plot_grid(legend, p1, ncol = 1, align = 'v', rel_heights = c(0.05, 1)) %>%
ggsave2(plot = ., "files/Fig-1.jpg"
, units = "cm"
, width = 24
, height = 16
)
knitr::include_graphics("files/Fig-1.jpg")5.6 Multivariate
mv <- rdt %>%
group_by(stock, edge) %>%
summarise(across(where(is.numeric), ~ mean(., na.rm = T))) %>%
unite("treat", stock:edge, sep = "-") %>%
rename(Treat = treat
, Height = height
, Fruits = n_fruits
, Flowering = flowering
, Sproud = sproud)
pca <- mv %>%
PCA(scale.unit = T, quali.sup = 1, graph = F)
# summary
summary(pca, nbelements = Inf, nb.dec = 2)
##
## Call:
## PCA(X = ., scale.unit = T, quali.sup = 1, graph = F)
##
##
## Eigenvalues
## Dim.1 Dim.2 Dim.3 Dim.4
## Variance 2.49 0.93 0.37 0.21
## % of var. 62.27 23.26 9.22 5.26
## Cumulative % of var. 62.27 85.52 94.74 100.00
##
## Individuals
## Dist Dim.1 ctr cos2 Dim.2 ctr cos2 Dim.3
## 1 | 2.28 | -1.99 19.84 0.76 | -0.72 7.04 0.10 | -0.43
## 2 | 1.67 | 1.05 5.51 0.39 | -0.61 4.97 0.13 | 1.15
## 3 | 2.18 | -1.90 18.19 0.76 | 0.89 10.71 0.17 | 0.36
## 4 | 1.74 | -1.44 10.38 0.68 | 0.94 11.90 0.29 | -0.19
## 5 | 1.52 | -0.49 1.23 0.11 | -1.05 14.72 0.47 | -0.41
## 6 | 2.83 | 2.26 25.69 0.64 | 1.63 35.67 0.33 | -0.51
## 7 | 1.00 | 0.68 2.34 0.46 | -0.03 0.01 0.00 | 0.67
## 8 | 2.21 | 1.83 16.82 0.69 | -1.06 14.98 0.23 | -0.63
## ctr cos2
## 1 6.36 0.04 |
## 2 44.91 0.47 |
## 3 4.40 0.03 |
## 4 1.21 0.01 |
## 5 5.78 0.07 |
## 6 8.90 0.03 |
## 7 15.00 0.44 |
## 8 13.43 0.08 |
##
## Variables
## Dim.1 ctr cos2 Dim.2 ctr cos2 Dim.3 ctr
## Height | -0.91 33.26 0.83 | 0.07 0.53 0.00 | 0.25 17.31
## Fruits | 0.57 13.26 0.33 | 0.78 66.19 0.62 | -0.16 6.81
## Flowering | 0.86 29.71 0.74 | 0.05 0.23 0.00 | 0.51 69.79
## Sproud | 0.77 23.77 0.59 | -0.55 33.05 0.31 | -0.15 6.10
## cos2
## Height 0.06 |
## Fruits 0.03 |
## Flowering 0.26 |
## Sproud 0.02 |
##
## Supplementary categories
## Dist Dim.1 cos2 v.test Dim.2 cos2 v.test Dim.3
## CHATO-CHATO | 2.28 | -1.99 0.76 -1.26 | -0.72 0.10 -0.75 | -0.43
## CHATO-CHULUCANAS | 1.67 | 1.05 0.39 0.66 | -0.61 0.13 -0.63 | 1.15
## CHATO-IRWIN | 2.18 | -1.90 0.76 -1.21 | 0.89 0.17 0.93 | 0.36
## CHATO-JULYE | 1.74 | -1.44 0.68 -0.91 | 0.94 0.29 0.98 | -0.19
## CHULUCANAS-CHATO | 1.52 | -0.49 0.11 -0.31 | -1.05 0.47 -1.09 | -0.41
## CHULUCANAS-CHULUCANAS | 2.83 | 2.26 0.64 1.43 | 1.63 0.33 1.69 | -0.51
## CHULUCANAS-IRWIN | 1.00 | 0.68 0.46 0.43 | -0.03 0.00 -0.03 | 0.67
## CHULUCANAS-JULYE | 2.21 | 1.83 0.69 1.16 | -1.06 0.23 -1.09 | -0.63
## cos2 v.test
## CHATO-CHATO 0.04 -0.71 |
## CHATO-CHULUCANAS 0.47 1.90 |
## CHATO-IRWIN 0.03 0.59 |
## CHATO-JULYE 0.01 -0.31 |
## CHULUCANAS-CHATO 0.07 -0.68 |
## CHULUCANAS-CHULUCANAS 0.03 -0.84 |
## CHULUCANAS-IRWIN 0.44 1.10 |
## CHULUCANAS-JULYE 0.08 -1.04 |
f2a <- plot.PCA(x = pca, choix = "var"
, cex=0.8
)
f2b <- plot.PCA(x = pca, choix = "ind"
, habillage = 1
, invisible = c("ind")
, cex=0.8
) 5.7 Figure 2
list(f2a, f2b) %>%
plot_grid(plotlist = ., ncol = 2, nrow = 1
, labels = "auto"
, rel_widths = c(1, 1.5)
) %>%
ggsave2(plot = ., "files/Fig-2.jpg", units = "cm"
, width = 25, height = 10
)
knitr::include_graphics("files/Fig-2.jpg")6 Correlation
cor <- mv %>%
dplyr::select(where(is.numeric)) %>%
cor(., method ="pearson")
cor %>% kable()| Height | Fruits | Flowering | Sproud | |
|---|---|---|---|---|
| Height | 1.0000000 | -0.4533531 | -0.6592298 | -0.6876860 |
| Fruits | -0.4533531 | 1.0000000 | 0.4460404 | 0.0782485 |
| Flowering | -0.6592298 | 0.4460404 | 1.0000000 | 0.5535210 |
| Sproud | -0.6876860 | 0.0782485 | 0.5535210 | 1.0000000 |
sf1 <- ~ {
corrplot::corrplot(cor, method = "number", type = "upper")
}
list(sf1) %>%
plot_grid(plotlist = .) %>%
ggsave2(plot = ., "files/FigS1.jpg", units = "cm"
, width = 15, height = 15)
knitr::include_graphics("files/FigS1.jpg")7 Objetivo Específico 2
Evaluar el efecto de la relación patrón - injerto intermedio - injerto copa que sobre los parámetros que determinan la calidad del fruto (peso, longitud y diámetro) de la var. ‘Kent’
8 Fruit Weigth
trait <- "weigth"
lmm <- paste({{trait}}, "~ 1 + (1|block) + stock*edge") %>% as.formula()
lmd <- paste({{trait}}, "~ block + stock*edge") %>% as.formula()
rmout <- fru %>%
remove_outliers(formula = lmm
, drop_na = T, plot_diag = T)
rmout$diagplot
rmout$outliers
## [1] index block stock edge weigth resi
## [7] res_MAD rawp.BHStud adjp bholm out_flag
## <0 rows> (o 0- extensión row.names)
model <- rmout$data$clean %>%
aov(formula = lmd, .)
anova(model)
## Analysis of Variance Table
##
## Response: weigth
## Df Sum Sq Mean Sq F value Pr(>F)
## block 2 73498 36749 4.6207 0.01078 *
## stock 1 1816 1816 0.2284 0.63320
## edge 3 4318 1439 0.1810 0.90923
## stock:edge 3 37870 12623 1.5872 0.19323
## Residuals 229 1821257 7953
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mc <- emmeans(model, ~ edge|stock) %>%
cld(Letters = letters, reversed = T) %>%
mutate(across(.group, trimws)) %>%
rename(group = ".group")
mc %>% kable()| edge | stock | emmean | SE | df | lower.CL | upper.CL | group | |
|---|---|---|---|---|---|---|---|---|
| 1 | IRWIN | CHATO | 482.0333 | 16.28198 | 229 | 449.9517 | 514.1150 | a |
| 2 | JULYE | CHATO | 465.9667 | 16.28198 | 229 | 433.8850 | 498.0483 | a |
| 4 | CHULUCANAS | CHATO | 462.3661 | 16.56272 | 229 | 429.7313 | 495.0009 | a |
| 3 | CHATO | CHATO | 452.5333 | 16.28198 | 229 | 420.4517 | 484.6150 | a |
| 7 | CHATO | CHULUCANAS | 484.9667 | 16.28198 | 229 | 452.8850 | 517.0483 | a |
| 6 | JULYE | CHULUCANAS | 484.7000 | 16.28198 | 229 | 452.6184 | 516.7816 | a |
| 8 | CHULUCANAS | CHULUCANAS | 468.1667 | 16.28198 | 229 | 436.0850 | 500.2483 | a |
| 5 | IRWIN | CHULUCANAS | 447.2333 | 16.28198 | 229 | 415.1517 | 479.3150 | a |
p2a <- mc %>%
plot_smr(x = "stock"
, y = "emmean"
, group = "edge"
, sig = "group"
, error = "SE"
, color = T
, ylab = "Fruit Weigth (g)"
, ylimits = c(0, 600, 100)
,
)
p2a9 Descriptive
sts <- Summarize(weigth ~ stock*edge, data = fru, digits = 2, na.rm = TRUE)
tb1a <- sts%>%
merge(., mc) %>%
mutate(Variable = "Fruit Weigth") %>%
dplyr::select(Variable, stock, edge, mean, sd, min, max, group) %>%
rename(Stock = stock,
Edge = edge,
Sig = group)10 Fruit length
trait <- "long"
lmm <- paste({{trait}}, "~ 1 + (1|block) + stock*edge") %>% as.formula()
lmd <- paste({{trait}}, "~ block + stock*edge") %>% as.formula()
rmout <- fru %>%
remove_outliers(formula = lmm
, drop_na = T, plot_diag = T)
rmout$diagplot
rmout$outliers
## [1] index block stock edge long resi
## [7] res_MAD rawp.BHStud adjp bholm out_flag
## <0 rows> (o 0- extensión row.names)
model <- rmout$data$clean %>%
aov(formula = lmd, .)
anova(model)
## Analysis of Variance Table
##
## Response: long
## Df Sum Sq Mean Sq F value Pr(>F)
## block 2 681.4 340.70 5.9312 0.003081 **
## stock 1 31.2 31.16 0.5424 0.462192
## edge 3 270.1 90.02 1.5672 0.198107
## stock:edge 3 39.5 13.15 0.2289 0.876184
## Residuals 229 13154.4 57.44
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mc <- emmeans(model, ~ edge|stock) %>%
cld(Letters = letters, reversed = T) %>%
mutate(across(.group, trimws)) %>%
rename(group = ".group")
mc %>% kable()| edge | stock | emmean | SE | df | lower.CL | upper.CL | group | |
|---|---|---|---|---|---|---|---|---|
| 1 | JULYE | CHATO | 107.6667 | 1.383746 | 229 | 104.9402 | 110.3932 | a |
| 3 | CHULUCANAS | CHATO | 106.3048 | 1.407606 | 229 | 103.5313 | 109.0783 | a |
| 2 | IRWIN | CHATO | 106.0667 | 1.383746 | 229 | 103.3402 | 108.7932 | a |
| 4 | CHATO | CHATO | 105.9667 | 1.383746 | 229 | 103.2402 | 108.6932 | a |
| 6 | JULYE | CHULUCANAS | 109.7333 | 1.383746 | 229 | 107.0068 | 112.4598 | a |
| 7 | CHATO | CHULUCANAS | 106.5333 | 1.383746 | 229 | 103.8068 | 109.2598 | a |
| 5 | IRWIN | CHULUCANAS | 106.4333 | 1.383746 | 229 | 103.7068 | 109.1598 | a |
| 8 | CHULUCANAS | CHULUCANAS | 106.2000 | 1.383746 | 229 | 103.4735 | 108.9265 | a |
p2b <- mc %>%
plot_smr(x = "stock"
, y = "emmean"
, group = "edge"
, sig = "group"
, error = "SE"
, color = T
, ylab = "Fruit length (cm)"
, ylimits = c(0, 120, 20)
,
)
p2b11 Descriptive
sts <- Summarize(long ~ stock*edge, data = fru, digits = 2, na.rm = TRUE)
tb1b <- sts%>%
merge(., mc) %>%
mutate(Variable = "Fruit length") %>%
dplyr::select(Variable, stock, edge, mean, sd, min, max, group) %>%
rename(Stock = stock,
Edge = edge,
Sig = group)12 Fruit diameter
trait <- "diameter_average"
lmm <- paste({{trait}}, "~ 1 + (1|block) + stock*edge") %>% as.formula()
lmd <- paste({{trait}}, "~ block + stock*edge") %>% as.formula()
rmout <- fru %>%
remove_outliers(formula = lmm
, drop_na = T, plot_diag = T)
rmout$diagplot
rmout$outliers
## [1] index block stock edge
## [5] diameter_average resi res_MAD rawp.BHStud
## [9] adjp bholm out_flag
## <0 rows> (o 0- extensión row.names)
model <- rmout$data$clean %>%
aov(formula = lmd, .)
anova(model)
## Analysis of Variance Table
##
## Response: diameter_average
## Df Sum Sq Mean Sq F value Pr(>F)
## block 2 248.1 124.033 5.0489 0.007149 **
## stock 1 1.2 1.178 0.0480 0.826864
## edge 3 6.1 2.027 0.0825 0.969504
## stock:edge 3 234.3 78.109 3.1796 0.024804 *
## Residuals 229 5625.6 24.566
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
mc <- emmeans(model, ~ edge|stock) %>%
cld(Letters = letters, reversed = T) %>%
mutate(across(.group, trimws)) %>%
rename(group = ".group")
mc %>% kable()| edge | stock | emmean | SE | df | lower.CL | upper.CL | group | |
|---|---|---|---|---|---|---|---|---|
| 1 | IRWIN | CHATO | 87.63333 | 0.9049151 | 229 | 85.85031 | 89.41636 | a |
| 2 | JULYE | CHATO | 86.23333 | 0.9049151 | 229 | 84.45031 | 88.01636 | a |
| 4 | CHULUCANAS | CHATO | 86.07080 | 0.9205182 | 229 | 84.25703 | 87.88457 | a |
| 3 | CHATO | CHATO | 85.23333 | 0.9049151 | 229 | 83.45031 | 87.01636 | a |
| 7 | CHATO | CHULUCANAS | 87.70000 | 0.9049151 | 229 | 85.91698 | 89.48302 | a |
| 6 | JULYE | CHULUCANAS | 86.30000 | 0.9049151 | 229 | 84.51698 | 88.08302 | a |
| 8 | CHULUCANAS | CHULUCANAS | 86.08333 | 0.9049151 | 229 | 84.30031 | 87.86636 | a |
| 5 | IRWIN | CHULUCANAS | 84.53333 | 0.9049151 | 229 | 82.75031 | 86.31636 | a |
p2c <- mc %>%
plot_smr(x = "stock"
, y = "emmean"
, group = "edge"
, sig = "group"
, error = "SE"
, color = T
, ylab = "Fruit diameter (cm)"
, ylimits = c(0, 100, 20)
,
)
p2c13 Descriptive
sts <- Summarize(diameter_average ~ stock*edge, data = fru, digits = 2, na.rm = TRUE)
tb1c <- sts%>%
merge(., mc) %>%
mutate(Variable = "Fruit diameter") %>%
dplyr::select(Variable, stock, edge, mean, sd, min, max, group) %>%
rename(Stock = stock,
Edge = edge,
Sig = group)14 Table 1
tb1 <- bind_rows(tb1a, tb1b, tb1c)
tb1 %>% kable()| Variable | Stock | Edge | mean | sd | min | max | Sig |
|---|---|---|---|---|---|---|---|
| Fruit Weigth | CHATO | CHATO | 452.53 | 79.92 | 305.0 | 639.0 | a |
| Fruit Weigth | CHATO | CHULUCANAS | 462.34 | 69.82 | 340.0 | 620.0 | a |
| Fruit Weigth | CHATO | IRWIN | 482.03 | 87.30 | 350.0 | 700.0 | a |
| Fruit Weigth | CHATO | JULYE | 465.97 | 92.07 | 300.0 | 645.0 | a |
| Fruit Weigth | CHULUCANAS | CHATO | 484.97 | 101.98 | 316.0 | 765.0 | a |
| Fruit Weigth | CHULUCANAS | CHULUCANAS | 468.17 | 118.73 | 230.0 | 665.0 | a |
| Fruit Weigth | CHULUCANAS | IRWIN | 447.23 | 70.09 | 310.0 | 605.0 | a |
| Fruit Weigth | CHULUCANAS | JULYE | 484.70 | 93.46 | 367.0 | 717.0 | a |
| Fruit length | CHATO | CHATO | 105.97 | 6.78 | 93.0 | 120.0 | a |
| Fruit length | CHATO | CHULUCANAS | 106.28 | 6.80 | 94.0 | 119.0 | a |
| Fruit length | CHATO | IRWIN | 106.07 | 6.47 | 95.0 | 124.0 | a |
| Fruit length | CHATO | JULYE | 107.67 | 7.54 | 91.0 | 120.0 | a |
| Fruit length | CHULUCANAS | CHATO | 106.53 | 7.21 | 95.0 | 123.0 | a |
| Fruit length | CHULUCANAS | CHULUCANAS | 106.20 | 10.87 | 86.0 | 126.0 | a |
| Fruit length | CHULUCANAS | IRWIN | 106.43 | 7.28 | 92.0 | 122.0 | a |
| Fruit length | CHULUCANAS | JULYE | 109.73 | 8.03 | 98.0 | 129.0 | a |
| Fruit diameter | CHATO | CHATO | 85.23 | 4.72 | 76.0 | 97.5 | a |
| Fruit diameter | CHATO | CHULUCANAS | 86.09 | 3.61 | 78.5 | 93.5 | a |
| Fruit diameter | CHATO | IRWIN | 87.63 | 5.07 | 79.5 | 100.0 | a |
| Fruit diameter | CHATO | JULYE | 86.23 | 5.56 | 75.5 | 97.5 | a |
| Fruit diameter | CHULUCANAS | CHATO | 87.70 | 5.40 | 78.0 | 100.5 | a |
| Fruit diameter | CHULUCANAS | CHULUCANAS | 86.08 | 6.61 | 69.5 | 99.0 | a |
| Fruit diameter | CHULUCANAS | IRWIN | 84.53 | 4.03 | 77.5 | 92.5 | a |
| Fruit diameter | CHULUCANAS | JULYE | 86.30 | 4.68 | 79.5 | 97.0 | a |
# tb1 %>%
# write_sheet(ss = gs, sheet = "tb1")14.1 Multivariate
mv <- fru %>%
group_by(stock, edge) %>%
summarise(across(where(is.numeric), ~ mean(., na.rm = T))) %>%
dplyr::select(!c(diameter_1, diameter_2, n_fruits)) %>%
unite("treat", stock:edge, sep = "-") %>%
rename(Treat = treat
, Weight = weigth
, Length = long
, Diameter = diameter_average)
pca <- mv %>%
PCA(scale.unit = T, quali.sup = 1, graph = F)
# summary
summary(pca, nbelements = Inf, nb.dec = 2)
##
## Call:
## PCA(X = ., scale.unit = T, quali.sup = 1, graph = F)
##
##
## Eigenvalues
## Dim.1 Dim.2 Dim.3
## Variance 2.01 0.97 0.02
## % of var. 66.97 32.23 0.79
## Cumulative % of var. 66.97 99.21 100.00
##
## Individuals
## Dist Dim.1 ctr cos2 Dim.2 ctr cos2 Dim.3
## 1 | 1.71 | -1.70 17.91 0.98 | -0.22 0.60 0.02 | -0.01
## 2 | 0.68 | -0.56 1.99 0.69 | -0.37 1.76 0.29 | 0.09
## 3 | 1.85 | 1.38 11.78 0.56 | -1.23 19.60 0.44 | 0.00
## 4 | 0.70 | 0.09 0.05 0.02 | 0.61 4.83 0.76 | 0.33
## 5 | 1.93 | 1.70 17.92 0.78 | -0.91 10.79 0.22 | 0.00
## 6 | 0.57 | -0.29 0.51 0.25 | -0.44 2.46 0.58 | -0.23
## 7 | 2.33 | -2.29 32.54 0.96 | 0.45 2.60 0.04 | -0.06
## 8 | 2.69 | 1.67 17.30 0.38 | 2.11 57.36 0.61 | -0.12
## ctr cos2
## 1 0.03 0.00 |
## 2 4.74 0.02 |
## 3 0.00 0.00 |
## 4 57.67 0.22 |
## 5 0.00 0.00 |
## 6 28.15 0.16 |
## 7 2.18 0.00 |
## 8 7.23 0.00 |
##
## Variables
## Dim.1 ctr cos2 Dim.2 ctr cos2 Dim.3 ctr
## Weight | 0.99 49.14 0.99 | -0.03 0.07 0.00 | -0.11 50.79
## Length | 0.46 10.55 0.21 | 0.89 81.29 0.79 | 0.04 8.16
## Diameter | 0.90 40.32 0.81 | -0.42 18.64 0.18 | 0.10 41.05
## cos2
## Weight 0.01 |
## Length 0.00 |
## Diameter 0.01 |
##
## Supplementary categories
## Dist Dim.1 cos2 v.test Dim.2 cos2 v.test Dim.3
## CHATO-CHATO | 1.71 | -1.70 0.98 -1.20 | -0.22 0.02 -0.22 | -0.01
## CHATO-CHULUCANAS | 0.68 | -0.56 0.69 -0.40 | -0.37 0.29 -0.38 | 0.09
## CHATO-IRWIN | 1.85 | 1.38 0.56 0.97 | -1.23 0.44 -1.25 | 0.00
## CHATO-JULYE | 0.70 | 0.09 0.02 0.07 | 0.61 0.76 0.62 | 0.33
## CHULUCANAS-CHATO | 1.93 | 1.70 0.78 1.20 | -0.91 0.22 -0.93 | 0.00
## CHULUCANAS-CHULUCANAS | 0.57 | -0.29 0.25 -0.20 | -0.44 0.58 -0.44 | -0.23
## CHULUCANAS-IRWIN | 2.33 | -2.29 0.96 -1.61 | 0.45 0.04 0.46 | -0.06
## CHULUCANAS-JULYE | 2.69 | 1.67 0.38 1.18 | 2.11 0.61 2.14 | -0.12
## cos2 v.test
## CHATO-CHATO 0.00 -0.05 |
## CHATO-CHULUCANAS 0.02 0.62 |
## CHATO-IRWIN 0.00 -0.02 |
## CHATO-JULYE 0.22 2.15 |
## CHULUCANAS-CHATO 0.00 -0.02 |
## CHULUCANAS-CHULUCANAS 0.16 -1.50 |
## CHULUCANAS-IRWIN 0.00 -0.42 |
## CHULUCANAS-JULYE 0.00 -0.76 |
f3a <- plot.PCA(x = pca, choix = "var"
, cex=0.8
)
f3b <- plot.PCA(x = pca, choix = "ind"
, habillage = 1
, invisible = c("ind")
, cex=0.8
)
15 Figure 3
list(f3a, f3b) %>%
plot_grid(plotlist = ., ncol = 2, nrow = 1
, labels = "auto"
, rel_widths = c(1, 1.5)
) %>%
ggsave2(plot = ., "files/Fig-3.jpg", units = "cm"
, width = 25, height = 10
)
knitr::include_graphics("files/Fig-3.jpg")16 Correlation
cor <- mv %>%
dplyr::select(where(is.numeric)) %>%
cor(., method ="pearson")
cor %>% kable()| Weight | Length | Diameter | |
|---|---|---|---|
| Weight | 1.0000000 | 0.4292938 | 0.8945608 |
| Length | 0.4292938 | 1.0000000 | 0.0423165 |
| Diameter | 0.8945608 | 0.0423165 | 1.0000000 |
sf2 <- ~ {
corrplot::corrplot(cor, method = "number", type = "upper")
}
list(sf2) %>%
plot_grid(plotlist = .) %>%
ggsave2(plot = ., "files/FigS2.jpg", units = "cm"
, width = 15, height = 15)
knitr::include_graphics("files/FigS2.jpg")